package tech.xujian.easydb.bean;

import tech.xujian.easydb.DBUtils;

import java.util.List;

public class EasyDB {

    /**
     * 取得表名，Override修改
     * */
    public String getTableName(){
        return this.getClass().getSimpleName();
    }

    /**
     * 取得表名
     * */
    private String tableName(){
        if(getTableName() == null){
            return this.getClass().getSimpleName();
        }else{
            return getTableName();
        }
    }

    /**
     * 保存
     * */
    public void save(){
        DBUtils.save(this,tableName());
    }

    /**
     * 移除
     * */
    public void delete(String keys,String values){
        DBUtils.delete(tableName(),keys.split(","),values.split(","));
    }

    /**
     * 更新
     * */
    public void update(String setKeys,String setValues,String keys,String values){
        DBUtils.update(tableName(),setKeys.split(","),setValues.split(","),keys.split(","),values.split(","));
    }

    /**
     * 根据id查询
     * */
    public <T>T findById(int id){
        return DBUtils.findOne(getClass(),"select * from " + tableName() + " where id = " + id);
    }

    /**
     * where 查询
     * */
    public <T>List find(String keys,String values){
        return DBUtils.find(this.getClass(),keys.split(","),values.split(","));
    }
}
